package cn.edu.xhu.library_management.area.service;

import cn.edu.xhu.library_management.area.entity.LmBookRack;
import cn.edu.xhu.library_management.area.entity.dto.BookRackLocationDTO;
import cn.edu.xhu.library_management.area.entity.search.LmBookRackSearch;
import cn.edu.xhu.library_management.area.entity.vo.LmBookRackVo;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;

import java.util.List;
import java.util.Map;

/**
 * @Author: MMJ
 * @Date: 2022 - 11 - 19
 * @Description: 书架服务
 */
public interface BookRackService {
    /**
     * 通过区域id，获取所有的书架
     * @param areaId 区域id
     * @return 书架对象集合
     */
    public List<LmBookRack> findBookRackByAreaId(Integer areaId);

    /**
     * 添加书架
     * @param bookRack 书架对象
     * @return 添加书架成功返回 true 添加书架失败返回false
     */
    public boolean addBookRack(LmBookRack bookRack);

    /**
     * 通过书架Id，修改书架
     * @param bookRack 书架对象
     * @return 添加书架成功返回 true 添加书架失败返回false
     */
    public boolean updateBookRack(LmBookRack bookRack);

    /**
     * 通过书架Id，删除书架
     * @param id 书架Id
     * @return 删除书架成功返回 true 删除书架失败返回false
     */
    public boolean deleteBookRackById(Integer id);

    /**
     * 书架搜索
     * @param search 搜索对象
     * @return 书架展示类激活
     */
    Map<String,Object> search(LmBookRackSearch search);

    /**
     * 通过书架Id，查询具体的位置信息
     * @param id
     * @return
     */
    BookRackLocationDTO findBookRackLocationById(Integer id);
}
